package com.mastercard.assets.web.struts.forms ;

import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.upload.FormFile;

import com.mastercard.assets.MasterCardException;
import com.mastercard.assets.jpa.TblCategoria;
import com.mastercard.assets.jpa.TblSubcateg;
import com.mastercard.assets.jpa.TblUsuario;
import com.mastercard.assets.util.MCUtil;
import com.mastercard.assets.util.dao.MasterCardDAO;
import com.mastercard.assets.web.util.to.MultipleDataTO;
import com.mastercard.assets.web.util.to.UserLogin;

public class NotificacionForm
	extends
		ActionForm
{
	private int operation ;
	private int tipoNotificacion ;
	private int cveAlerta ;
	private int cveRole ;
	private int cveNivel ;
	private int tipo ;
	private String mail ;
	private int cveNotificacion ;
	
	public int getCveNotificacion() {
		return cveNotificacion;
	}

	public void setCveNotificacion(int cveNotificacion) {
		this.cveNotificacion = cveNotificacion;
	}

	public int getTipoNotificacion() {
		return tipoNotificacion;
	}

	public void setTipoNotificacion(int tipoNotificacion) {
		this.tipoNotificacion = tipoNotificacion;
	}

	public int getCveAlerta() {
		return cveAlerta;
	}

	public void setCveAlerta(int cveAlerta) {
		this.cveAlerta = cveAlerta;
	}

	public int getCveRole() {
		return cveRole;
	}

	public void setCveRole(int cveRole) {
		this.cveRole = cveRole;
	}

	public int getCveNivel() {
		return cveNivel;
	}

	public void setCveNivel(int cveNivel) {
		this.cveNivel = cveNivel;
	}

	public int getTipo() {
		return tipo;
	}

	public void setTipo(int tipo) {
		this.tipo = tipo;
	}

	public String getMail() {
		return mail;
	}

	public void setMail(String mail) {
		this.mail = mail;
	}

	public int getOperation() {
		return operation;
	}

	public void setOperation(int operation) {
		this.operation = operation;
	}

	public ActionErrors validate( ActionMapping mapping , HttpServletRequest request )
	{
		ActionErrors errors = new ActionErrors( ) ;
		
		// en caso de que sea registrar la notificacion
		if( operation == 2 )
		{
			// verifiamos que haya tipo
			if( tipoNotificacion < 1 )
				errors.add( "NoHayTipoNotificacion" , new ActionMessage( "com.mastercard.assets.web.modules.catalogos.notificaciones.errors.NoHayTipoNotificaciones" ) ) ;
			
			// verifiamos que haya alertas
			if( cveAlerta < 1 )
				errors.add( "NoHayAlerta" , new ActionMessage( "com.mastercard.assets.web.modules.catalogos.notificaciones.errors.NoHayAlerta" ) ) ;
			
			// verifiamos que haya rol
			if( cveRole < 1 )
				errors.add( "NoHayRol" , new ActionMessage( "com.mastercard.assets.web.modules.catalogos.notificaciones.errors.NoHayRol" ) ) ;
			
			// verifiamos que haya tipo
			if( tipo < 1 )
				errors.add( "NoHayTipo" , new ActionMessage( "com.mastercard.assets.web.modules.catalogos.notificaciones.errors.NoHayTipo" ) ) ;
		}
		
		return errors ;
	}

}
